<?php

class Responsable_Model extends CI_Model {

    const STR_NOMBRE_TABLA = 'persona';
    const STR_NOMBRE_TABLA_NATURAL = 'persona_natural';

    function __construct() {
        parent::__construct();
    }

    function getResponsable() {
        $responsable = $this->db->get('solicitud_responsable');
        return $responsable->result();
    }

    /**
     * Obtiene los responsables de la tabla solicitud_responsable dependiendo del id_solicitud_usuario
     * @author Leidy Uribe Marcos
     */
    function getResponsables($data) {
        $p = $this->db->select('*');
        $p = $this->db->from('solicitud_responsable');
        $p = $this->db->where('id_solicitud_usuario', $data['idSolUsuario']);
        $p = $this->db->get();
        return $p->row_array();
    }

    /**
     * Listar los responsables asociados a un proveedor.
     *
     * @author Fernando Esteban Valerio
     * @param int $idProveedor
     * @return array
     */
    function getListResponsable($idProveedor) {
        $this->db->select("persona_natural.nombres AS nombres,persona_natural.apellidos AS apellidos,persona.correo AS correo");
        $this->db->from(self::STR_NOMBRE_TABLA);
        $this->db->join(self::STR_NOMBRE_TABLA_NATURAL, "persona_natural.id_persona = persona.id_persona");
        $this->db->where('persona.id_responsable', $idProveedor);
        $this->db->where('persona.id_estado', INT_ESTADO_ACTIVO);
        $query = $this->db->get();
        return $query->result();
    }

    /**
     * Obtiene los datos de solicitud responsable segun su id
     * @author Leidy Uribe Marcos
     */
    function getPorid($id) {
        $porid = $this->db->query('select *
            from solicitud_responsable
            where id_solicitud_responsable = ' . $id);
        return $porid->result();
    }

    function getPorProveedor($data) {
        $p = $this->db->select('*');
        $p = $this->db->from('solicitud_responsable');
        $p = $this->db->where('id_solicitud_usuario', $data ['idSolUsuario']);
        $p = $this->db->get();
        return $p->result();
    }

    /**
     * Inserta en la tabla solicitud responsable
     * @author Leidy Uribe Marcos
     */
    function insert($data) {
        $this->db->set('id_solicitud_usuario', $data ['idSolUsuario']);
        $this->db->set('nombres', $data ['nombres']);
        $this->db->set('apellidos', $data ['apellidos']);
        $this->db->set('correo', $data ['correo']);
        $this->db->set('celular', $data ['celular']);
        $this->db->set('telefono', $data ['telefono']);
        $this->db->set('usuario_registro', $data ['usuario_registro']);
        $this->db->set('fecha_registro', $data ['fecha_registro']);
        $this->db->insert('solicitud_responsable');
    }

    /**
     * Actualiza los datos en la tabla solicitud responsable
     * @author Leidy Uribe Marcos
     */
    function update($data) {
        $this->db->set('nombres', $data ['nombres']);
        $this->db->set('apellidos', $data ['apellidos']);
        $this->db->set('correo', $data ['correo']);
        $this->db->set('celular', $data ['celular']);
        $this->db->set('telefono', $data ['telefono']);
        $this->db->set('usuario_modificacion', $data ['usuario_modificacion']);
        $this->db->set('fecha_modificacion', $data ['fecha_modificacion']);
        $this->db->where('id_solicitud_responsable', $data ['id']);
        $this->db->update('solicitud_responsable');
    }

    /**
     * Borra los datos de la bd de la tabla solicitud responsable
     * @author Leidy Uribe Marcos
     */
    function delete($id) {
        $this->db->where('id_solicitud_responsable', $id);
        $this->db->delete('solicitud_responsable');
    }

}
